Under Wayland, a subsurface can have another surface as parent, but
gdk would not allow native windows if the parent is not the root window.
Allow native subsurface for all parent under Wayland, not just for the
root window.
https://bugzilla.gnome.org/show_bug.cgi?id=774475
if (window->parent->window_type == GDK_WINDOW_ROOT)
native = TRUE; /* Always use native windows for toplevels */
+#ifdef GDK_WINDOWING_WAYLAND
+ if (window->window_type == GDK_WINDOW_SUBSURFACE)
+ native = TRUE; /* Always use native windows for subsurfaces as well */
+#endif
+
if (native)
{
event_mask = get_native_event_mask (window);